package com.platform.car.dao;

import com.platform.common.annotation.MyBatisDao;
import com.platform.common.base.dao.BaseDao;
import com.platform.car.model.Parking;

import java.util.List;

@MyBatisDao
public interface ParkingDao extends BaseDao<Parking> {

    /**
     * 根据区域查询停车场
     * @param parking
     * @return
     */
    List<Parking> selectByCity(Parking parking);


    /**
     * 根据停车场的ID统计所有车位的个数
     * @param parking
     * @return
     */
    Long countParkTotal(Parking parking);

    /**
     *  根据停车场的ID统计停车场内的未预定的车位
     * @param parking
     * @return
     */
    Long countPark(Parking parking);

    /**
     *  根据停车场的ID统计停车场内智能车位且未预定的个数
     */
    Long countAutoParkTotal(Parking parking);

    /**
     * 根据停车场的ID统计智能车位的个数
     * @param parking
     * @return
     */
    Long countAutoPark(Parking parking);

    /**
     * 根据停车场的ID统计非智能普通车位的个数
     * @param parking
     * @return
     */
    Long countOrdinaryParkTotal(Parking parking);

    /**
     *  根据停车场的ID统计停车场内非智能车位且未预定的个数
     * @param parking
     * @return
     */
    Long countOrdinaryPark(Parking parking);

    /**
     * 根据经纬度查询停车场
     * @param parking
     * @return
     */
    List<Parking> selectByScope(Parking parking);
}
